Course syllabus

Effektiv C
Efficient C

EDAG01, 7,5 credits, G2 (First Cycle)

Valid for: 2023/24
Faculty: Faculty of Engineering, LTH
Decided by: PLED C/D
Date of Decision: 2023-02-27

General Information

Elective for: C4-pv, D4-is, D4-pv, D4-hs, E4, F4, F4-bs, I4, M4, N4, Pi4-pv
Language of instruction: The course will be given in Swedish

Aim

The purpose of the course is that the students should learn how to write efficient programs in the C language. In order to achieve this main purpose, three other purposes of the course are that the students should learn about (1) the ISO C18 language, (2) modern computer architecture, from the perspective of the programmer, with focus on microprocessors and cache memories, and (3) modern tools to evaluate C programs in terms of correctness and efficiency.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents

The ISO C18 standard, the principles of the C language, comparison between Java and C, struct, pointer, array, memory allocation, global variables, static storage duration, the C standard library, C compiler, implementation defined behaviour, unspecified behaviour, undefined behaviour, storage class specifiers, type specifiers, C preprocessor, GDB, Valgrind, the profiling tools GPROF, OPROFILE and GCOV, pipelined microprocessors, cache memories, using simulation tools for performance analysis, and a methodology to maximize the performance of a C program.

Examination details

Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: To pass the course it is required to pass the oral exam, computer labs, and a project. In order to participate in the exam, the laboratory sessions must be completed. Final grades in the course are based on the results of the oral exam.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Parts
Code: 0122. Name: Examination.
Credits: 4,5. Grading scale: TH. Assessment: Approved examination. Contents: Oral examination.
Code: 0222. Name: Laboratory Sessions.
Credits: 2. Grading scale: UG. Assessment: Approved laboratory sessions. Contents: Computer labs.
Code: 0322. Name: Project.
Credits: 1. Grading scale: UG. Assessment: Approved project.

Admission

Admission requirements:

The number of participants is limited to: No
The course overlaps following course/s: EDAF15, EDAA25

Reading list

Contact and other information

Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: https://cs.lth.se/edag01